åå®å šæ§ã確ä¿ããããšã§ãé«åºŠãªåãªã¹ã¯è©äŸ¡ãšã»ãã¥ãªãã£åæã«ããããã®æ¥µããŠéèŠãªåœ¹å²ãæ¢ããŸãããã®å æ¬çãªã¬ã€ãã¯ãå ç¢ãªãœãããŠã§ã¢ã»ãã¥ãªãã£ã®ããã®ã°ããŒãã«ãªæŽå¯ãšå®è·µçãªæŠç¥ãæäŸããŸãã
é«åºŠãªåãªã¹ã¯è©äŸ¡ïŒåå®å šæ§ã«ããã»ãã¥ãªãã£åæã®ããã²ãŒã·ã§ã³
ãµã€ããŒã»ãã¥ãªãã£ã®çµ¶ããé²åããç¶æ³ã«ãããŠããœãããŠã§ã¢ã·ã¹ãã ã®æŽåæ§ãšã»ãã¥ãªãã£ã¯æéèŠã§ããè åšãããæŽç·Žãããã«ã€ããŠãå ç¢ãªã»ãã¥ãªãã£åæææ³ã®å¿ èŠæ§ãé«ãŸããŸããæã广çãªã¢ãããŒãã®1ã€ã¯ãé«åºŠãªåãªã¹ã¯è©äŸ¡ã«ãããåå®å šæ§ã掻çšããããšã§ãããã®æ¹æ³ã¯ãå®å šãªãœãããŠã§ã¢éçºã®åºæ¬çã§ãããªãããã°ãã°èŠèœãšãããåŽé¢ã§ãããããŒã¿åã®äžé©åãªäœ¿çšããçããè匱æ§ã®ã¯ã©ã¹ãé²ãããšã«çŠç¹ãåœãŠãŠããŸãã
ãã®ããã°èšäºã§ã¯ãåå®å šæ§ãšã»ãã¥ãªãã£åæã®éã®è€éãªé¢ä¿ãæãäžãããã®éèŠæ§ãšå®è·µçãªå®è£ ã«é¢ããã°ããŒãã«ãªèŠç¹ãæäŸããŸããåå¶çŽã®çè§£ãšåŒ·å¶ããã»ãã¥ãªãã£ãªã¹ã¯ãå€§å¹ ã«è»œæžããã³ãŒãã®ä¿¡é Œæ§ãåäžãããäžçäžã®ããå®å šãªããžã¿ã«ãšã³ã·ã¹ãã ã«è²¢ç®ããæ¹æ³ãæ¢ããŸãã
åºç€ïŒåã·ã¹ãã ã®çè§£
é«åºŠãªãªã¹ã¯è©äŸ¡ã«é²ãåã«ãããã°ã©ãã³ã°èšèªã«ãããåã·ã¹ãã ã®åºæ¬ãçè§£ããããšãéèŠã§ããåã·ã¹ãã ãšã¯ãããã°ã©ãã³ã°èšèªã®ããŸããŸãªæ§æèŠçŽ ïŒå€æ°ãåŒã颿°ãªã©ïŒã«åãå²ãåœãŠãäžé£ã®èŠåã§ããåã·ã¹ãã ã®äž»ãªç®çã¯ãåãšã©ãŒãã€ãŸãäžé©åãªåã®å€ã«å¯ŸããŠå®è¡ãããæäœãé²ãããšã§ãã
åå®å šæ§ãšã¯ïŒ
åå®å šæ§ãšã¯ãæäœãé©åãªåã®å€ã«å¯ŸããŠã®ã¿å®è¡ãããããšãä¿èšŒããããã°ã©ãã³ã°èšèªã®ç¹æ§ã§ããç°¡åã«èšãã°ãåå®å šãªèšèªã§ã¯ãæç€ºçãªå€æãªãã«ãäŸãã°ããã¹ãæååãæ°å€ãšããŠæ±ã£ãããããŒãªã¢ã³ãæŽæ°ã«å ç®ãããããããšã¯ã§ããŸããããã®é²æ¢ã¡ã«ããºã ã¯ããœãããŠã§ã¢ã®å®å®æ§ãšã»ãã¥ãªãã£ã®åºç€ã§ãã
åå®å šæ§ã«ã¯ããŸããŸãªã¬ãã«ããããŸãã
- 匷ãåä»ããããèšèªïŒäŸïŒJavaãC#ãPythonãHaskellïŒïŒãããã®èšèªã¯å³æ ŒãªåèŠåã匷å¶ããéåžžã¯äºæããªãåäœã«ã€ãªããå¯èœæ§ã®ããæé»çãªå倿ãèš±å¯ããŸãããããšãã°ãPythonã§ã¯ãæŽæ°ãçŽæ¥æååã«å ç®ããããšã¯ã§ããŸãããæåã«æŽæ°ãæååã«æç€ºçã«å€æããå¿ èŠããããŸãã
- 匱ãåä»ããããèšèªïŒäŸïŒCãJavaScriptãPHPïŒïŒãããã®èšèªã¯ããå¯å®¹ã§ãããå€ãã®æé»çãªå匷å¶ãèš±å¯ããŸããããã«ããæè»æ§ãåŸãããå ŽåããããŸãããåé¢é£ã®ãšã©ãŒãè匱æ§ã®ããåºãç¯å²ã®å¯èœæ§ãéãããŸããããšãã°ãJavaScriptã§ã¯ã
'5' + 5ã¯'55'ïŒæååé£çµïŒã«ãªãã'5' - 3ã¯2ïŒæ°å€æžç®ïŒã«ãªããŸããããã¯ãæœåšçã«é©ãã¹ãæé»çãªå€æã瀺ããŠããŸãã
åå®å šæ§ãã»ãã¥ãªãã£ã«ãšã£ãŠéèŠãªçç±
åå®å šæ§ãšã»ãã¥ãªãã£ã®é¢ä¿ã¯ããã«ã¯æããã§ã¯ãªããããããŸããããããã¯éåžžã«éèŠã§ããå€ãã®äžè¬çãªãœãããŠã§ã¢ã®è匱æ§ã¯ãåèŠåŸã®æ¬ åŠã«èµ·å ããŸãã
- ãããã¡ãªãŒããŒãããŒïŒCãC++ã®ãããªèšèªã§ã¯ãåã®äžèŽã®æ¬ åŠã誀解ã«ããæååã®é·ãããããã¡ãµã€ãºã®äžé©åãªåŠçã¯ããããã¡ãªãŒããŒãããŒã«ã€ãªããå¯èœæ§ããããŸããããã¯ãä»»æã®ã³ãŒããå®è¡ããããã«æªçšãããå¯èœæ§ã®ããå€å žçãªè匱æ§ã§ãã
- æŽæ°ãªãŒããŒãããŒ/ã¢ã³ããŒãããŒïŒæŽæ°ã®è¡šçŸå¯èœãªæå€§å€ãŸãã¯æå°å€ãè¶ ããæŽæ°æŒç®ã¯ãäºæããªãã©ããã¢ã©ãŠã³ãåäœã«ã€ãªããå¯èœæ§ããããŸããããã¯ãã¡ã¢ãªå²ãåœãŠãé åã€ã³ããã¯ã¹æå®ããŸãã¯æå·åæäœã®ã·ããªãªã§æªçšãããå¯èœæ§ããããæ»æè ãã»ãã¥ãªãã£ãã§ãã¯ããã€ãã¹ããããããŒã¿ãç Žæããããããå¯èœæ§ããããŸãã
- ãã©ãŒãããæååã®è匱æ§ïŒãŠãŒã¶ãŒå¶åŸ¡ã®å
¥åããé©åãªãµãã¿ã€ãºãšåãã§ãã¯ãªãã«C/C++ã®
printfã®ãããªé¢æ°ã«çŽæ¥æž¡ããããšãæ»æè ã¯ãã©ãŒãããæå®åïŒäŸïŒ`%x`ã`%s`ã`%n`ïŒãæªçšããŠãä»»æã®ã¡ã¢ãªäœçœ®ãèªã¿æžãã§ããŸãã - åæ··ä¹±æ»æïŒåçã«åä»ããããèšèªãå®å šã§ãªãåãã£ã¹ããååšããå Žåãæ»æè ã¯ããŒã¿ã®äžéšãå®éãšã¯ç°ãªãåãšããŠã·ã¹ãã ã«åŠçãããããšãã§ããå ŽåããããŸããããã«ãããããŒã¿ç Žæãäžæ£ã¢ã¯ã»ã¹ãããã«ã¯ã³ãŒãå®è¡ã«ã€ãªããå¯èœæ§ããããŸãã
åå®å šæ§ã匷å¶ããããšã«ãããããã°ã©ãã³ã°èšèªãšéçºãã©ã¯ãã£ã¹ã¯ããããã®ã¯ã©ã¹ã®è匱æ§ã«å¯Ÿããäž»èŠãªé²åŸ¡ç·ãšããŠæ©èœããŸãã
é«åºŠãªåãªã¹ã¯è©äŸ¡ïŒããæ·±ãæ¢æ±
é«åºŠãªåãªã¹ã¯è©äŸ¡ã¯ãåã«æ¢ç¥ã®è匱æ§ãç¹å®ãã以äžã®ãã®ã§ããããã¯ãåé¢é£ã®åé¡ãç¹å®ã®ãœãããŠã§ã¢ã·ã¹ãã å ã§ã©ã®ããã«çŸããããåæããã»ãã¥ãªãã£äœå¶ãžã®æœåšçãªåœ±é¿ãè©äŸ¡ããäœç³»çãªããã»ã¹ã䌎ããŸãããã®ããã»ã¹ã¯éçã§ã¯ãªãããœãããŠã§ã¢ãé²åããæ°ããè åšãåºçŸããã«ã€ããŠãç¶ç¶çãªè©äŸ¡ãå¿ èŠã§ãã
é«åºŠãªåãªã¹ã¯è©äŸ¡ã®äž»èŠã³ã³ããŒãã³ã
- åäžå¿ã®èŠç¹ã§ã®è
åšã¢ããªã³ã°ïŒåŸæ¥ã®è
åšã¢ããªã³ã°ã¯ãæœåšçãªæ»æè
ãè³ç£ãæ»æãã¯ãã«ãç¹å®ããŸããé«åºŠãªåãªã¹ã¯è©äŸ¡ã¯ãåäžå¿ã®èŠç¹ãçµ±åããæ¬¡ã®ãããªç¹å®ã®è³ªåãããŸãã
- ä¿¡é Œã§ããªãå ¥åãã·ã¹ãã ã«ã©ãããå ¥ã蟌ã¿ãåãããŸããã®ããã«ã©ã®ããã«èª€è§£ãããå¯èœæ§ããããŸããïŒ
- æŽæ°ãªãŒããŒãããŒãäžæ£ç¢ºãªã¢ã¯ã»ã¹å¶åŸ¡ã®æ±ºå®ã«ã€ãªããå¯èœæ§ã®ãããæ©å¯ããŒã¿ãæ±ãæäœã¯ãããŸããïŒ
- ããŒã¿ãå€éšã§æäœããŠå¥ã®åãæš¡å£ããæ€èšŒããã€ãã¹ã§ããŸããïŒ
- åé¢é£ã®æ¬ é¥ã«å¯Ÿããéçè§£æïŒéçè§£æããŒã«ã¯ããœãŒã¹ã³ãŒããå®è¡ããã«æ€æ»ããŸããé«åºŠãªéçã¢ãã©ã€ã¶ãŒã¯ãæœåšçãªåãšã©ãŒãå®å šã§ãªãåãã£ã¹ãããã€ã³ã¿ã®èª€çšãããã³è匱æ§ã«ã€ãªããå¯èœæ§ã®ãããã®ä»ã®åé¢é£ã®åé¡ãæ€åºã§ããŸããããšãã°ãCoverityãSonarQubeãPVS-Studioã®ãããªããŒã«ã¯ããããã¡ãªãŒããŒãããŒãæŽæ°ãªãŒããŒãããŒãèµ·ãããããæ§é ãç¹å®ã§ããŸãã
- åçè§£æãšãã¡ãžã³ã°ïŒåçè§£æã¯ãå®è¡äžã«ãœãããŠã§ã¢ããã¹ãããããšã䌎ããŸãããã¡ãžã³ã°ã¯ãåçè§£æã®ç¹å®ã®ã¿ã€ãã§ãããã¯ã©ãã·ã¥ãŸãã¯ã¢ãµãŒã·ã§ã³å€±æãæããã«ããããã«ãããã°ã©ã ã«äžæ£ãŸãã¯äºæããªãå ¥åããŒã¿ãæäŸããããšãå«ã¿ãŸããããã¯ãæ ¹æ¬çãªåãšã©ãŒãŸãã¯è匱æ§ã瀺ãããšããããããŸããé«åºŠãªãã¡ãžã³ã°æè¡ã¯ãç¹å®ã®åé¢é£ã®å ¥ååŠçã«ãŒãã³ãã¿ãŒã²ããã«ããããã«èª¿æŽã§ããŸãã
- åå®å šæ§ã«çŠç¹ãåœãŠãã³ãŒãã¬ãã¥ãŒïŒæåã³ãŒãã¬ãã¥ãŒäžãéçºè ãšã»ãã¥ãªãã£ã¢ããªã¹ãã¯ãå倿ãçºçããé åãå ¥åãåŠçãããé åãããã³ããŒã¿æ§é ãæäœãããé åã«ç¹ã«æ³šæãæãå¿ èŠããããŸãããããã§æåŸ ãããåã¯äœãïŒãããäºæããªãåã«ééããå Žåã©ããªããïŒããšãã£ã質åãããããšãéèŠã§ãã
- åœ¢åŒææ³ïŒã¯ãªãã£ã«ã«ã·ã¹ãã åãïŒïŒéåžžã«ã¯ãªãã£ã«ã«ãªã·ã¹ãã ã®å Žåãåé¢é£ã®ããããã£ã®æ£ãããæ°åŠçã«èšŒæããããã«åœ¢åŒææ³ã䜿çšãããããšããããŸããããã¯ãèªç©ºå®å®ãèªåè»ãéèãªã©ã®åéã§ç¹ã«éèŠã§ãããããã®åéã§ã¯ãããããªåãšã©ãŒã§ã壿» çãªçµæãããããå¯èœæ§ããããŸãã
- å®è¡æç£èŠãšäŸµå ¥æ€ç¥ïŒé²æ¢ãéµã§ãããå®è¡æç£èŠã¯ããšã¯ã¹ããã€ãã®è©Šã¿ã瀺ãå¯èœæ§ã®ããäºæããªãã¡ã¢ãªã¢ã¯ã»ã¹ãã¿ãŒã³ãããŒã¿æäœãªã©ãçãããåé¢é£ã®åäœãæ€åºããŠèŠåããããšãã§ããŸãã
ããŸããŸãªããã°ã©ãã³ã°ãã©ãã€ã ãšèšèªã«ãããåå®å šæ§
åå®å šæ§ã®å®è£ ãšæå¹æ§ã¯ãããŸããŸãªããã°ã©ãã³ã°ãã©ãã€ã ãšèšèªã«ãã£ãŠå€§ããç°ãªãå ŽåããããŸãããããã®ãã¥ã¢ã³ã¹ãçè§£ããããšã¯ã倿§ãªæè¡ã¹ã¿ãã¯ãæ±ãã°ããŒãã«ãªèŽè¡ã«ãšã£ãŠäžå¯æ¬ ã§ãã
éçåä»ãèšèªïŒã³ã³ãã€ã«æã®é²æ¢
éçåä»ãèšèªã¯ãã³ã³ãã€ã«æã«åãšã©ãŒãæ€åºããããã倧ããªå©ç¹ãæäŸããŸããããã¯ãåã«é¢é£ããå€ãã®æœåšçãªè匱æ§ããã³ãŒããå®è¡ãããåã«ç¹å®ãããããšãæå³ããæ»æå¯Ÿè±¡é åãåçã«åæžããŸãã
- JavaïŒåŒ·åãªåã·ã¹ãã ãšïŒé åã®å¢çãã§ãã¯ã®ãããªïŒå®è¡æå®å šæ§æ©èœã§ç¥ãããŠããŸãããã ããJavaã®ãã€ãã£ãã³ãŒãïŒJNIïŒãšã®çžäºéçšæ§ããªãã¬ã¯ã·ã§ã³ã®äœ¿çšã¯ãåå®å šæ§ãæ éã«æ€èšããå¿ èŠãããé åãå°å ¥ããå¯èœæ§ããããŸãã
- C#ïŒJavaãšåæ§ã«ãC#ã¯å ç¢ãªåã·ã¹ãã ãæã£ãŠããŸãããžã§ããªã¯ã¹ã®ãããªæ©èœã¯ãåå®å šæ§ãšããã©ãŒãã³ã¹ãåäžãããŸããunsafeã³ãŒããããã¯ïŒãã€ã³ã¿ã䜿çšïŒã¯ãéçºè ãããã«æ³šæããå¿ èŠãããäŸå€ã§ãã
- RustïŒRustã®ãããªææ°ã®èšèªã¯ãã¡ã¢ãªå®å
šæ§ãšåå®å
šæ§ãåªå
ããŸããRustã®æææš©ãšåçšã·ã¹ãã ã¯ã匷åãªéçåä»ããšçµã¿åããã£ãŠããããã¡ãªãŒããŒãããŒãnullãã€ã³ã¿åç
§è§£é€ãªã©ã®äžè¬çãªã¡ã¢ãªé¢é£ã®è匱æ§ãå°å
¥ããããšãéåžžã«å°é£ã«ããŠããŸããããšãã°ãRustã®
Optionåã¯ãéçºè ã«å€ãååšããªãå¯èœæ§ãæç€ºçã«åŠçããããšã匷å¶ããnullãã€ã³ã¿äŸå€ãé²ããŸãã - HaskellïŒé«åºŠãªåã·ã¹ãã ïŒHindley-Milneråæšè«ïŒãæã€çŽç²é¢æ°åèšèªã§ããHaskellã®åŒ·åãªåãã§ãã¯ã¯ãã³ã³ãã€ã«æã«å€ãã®ãã°ã¯ã©ã¹ãæé€ããããšãå€ããåå®å šæ§ã«ããã代衚äŸãšãªã£ãŠããŸãã
åçåä»ãèšèªïŒå®è¡æã®èŠæ
åçåä»ãèšèªã¯æè»æ§ãæäŸããŸãããå®è¡æã«åå®å šæ§ã確ä¿ããããã«ã¯ããæ³šæãå¿ èŠã§ãã
- PythonïŒPythonã¯åçã«åä»ããããŠããŸãããããã¯ã¿ã€ãã³ã°ã匷ãéèŠããŠããŸãããã ããã³ã³ãã€ã«æã®åãã§ãã¯ããªããããåãšã©ãŒã¯å³æ Œãªãã¹ããšå®è¡æãã§ãã¯ãéããŠæ€åºããå¿ èŠããããŸããåãã³ãïŒPEP 484ïŒãšMyPyã®ãããªéçè§£æããŒã«ã®å°å ¥ã¯ããã®ã®ã£ãããåããã®ã«åœ¹ç«ã¡ãéçºè ãPythonã³ãŒãã«éçåãã§ãã¯ã®ã¬ã€ã€ãŒã远å ã§ããããã«ããŠããŸãã
- JavaScriptïŒWebã§æ®åããŠããJavaScriptã®åçãªæ§è³ªãšåŒ±ãåä»ãã¯ãæŽå²çã«å€ãã®è匱æ§ã«å¯äžããŠããŸãããJavaScriptã®ã¹ãŒããŒã»ããã§ããéçåä»ãã远å ããTypeScriptã®å°é ã¯ãéçºè ãããå®å šã§ä¿å®æ§ã®é«ãWebã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããããã«ãªããã²ãŒã ãã§ã³ãžã£ãŒãšãªããŸããã
- PHPïŒæŽå²çã«åŒ±ãåä»ããããèšèªã§ããããPHPã¯æè¿ã®ããŒãžã§ã³ã§åã·ã¹ãã ãæ¹åããããã«å€§ããªé²æ©ãéããŸãããã¹ã«ã©ãŒå宣èšïŒstringãintãfloatãboolïŒãšæ»ãå€å宣èšã®ãµããŒãã«ãããéçºè ã¯åå¶çŽã匷å¶ã§ããåé¢é£ã®ãšã©ãŒã®å¯èœæ§ãæžããããšãã§ããŸãã
æœè±¡ããŒã¿åïŒADTïŒãšåæåïŒEnumïŒã®åœ¹å²
åºæ¬çãªåãè¶ ããŠãæœè±¡ããŒã¿åïŒADTïŒãšåæåïŒEnumïŒã®äœ¿çšã¯ãåå®å šæ§ãšã»ãã¥ãªãã£ãããã«åŒ·åã§ããŸãã
- ADTã¯ãããŒã¿ãšæäœãã«ãã»ã«åããããŒã¿ãã©ã®ããã«ã¢ã¯ã»ã¹ããã³æäœã§ãããã«ã€ããŠæç¢ºãªå¥çŽãå®çŸ©ããŸãããã®æœè±¡åã¯ãåºã«ãªãããŒã¿ãæå³ããªãæ¹æ³ã§çŽæ¥æäœãããã®ãé²ãã®ã«åœ¹ç«ã¡ãŸãã
- Enumã¯ãååä»ã宿°ã®ã»ãããå®çŸ©ããŸããæ£ãã䜿çšããããšã倿°ã«æå¹ãªå€ã®ç¹å®ã®ã»ãããå¶éãã誀ã£ãå²ãåœãŠãé²ããã³ãŒãã®å¯èªæ§ãåäžãããŸããããšãã°ã`UserStatus`ãåæåïŒ`ACTIVE`ã`INACTIVE`ã`PENDING`ïŒãšããŠè¡šãããšã¯ãä»»æã®æŽæ°ãŸãã¯æååã䜿çšãããããå®å šã§ãã
ã»ãã¥ãªãã£åæã«ãããåå®å šæ§ãå®è£ ããããã®å®è·µçãªæŠç¥
广çãªåå®å šæ§ãã©ã¯ãã£ã¹ãå®è£ ããã«ã¯ãéçºè ãããŒã«ãããã»ã¹ã䌎ãå€è§çãªã¢ãããŒããå¿ èŠã§ãã
1.匷åãªåã·ã¹ãã ãåããèšèªãæ¡çšãã
å¯èœãªéãã匷åãªéçåä»ããæäŸããããã°ã©ãã³ã°èšèªãåªå ããŸããåãå®çŸ©ããåæã®åŽåã¯ããããã°æéã®åæžãšããå®å šãªã³ãŒãããŒã¹ã«å€§ããªå©çããããããŸãã
2.åãã³ããšéçè§£æããŒã«ã掻çšãã
Pythonã®ãããªãªãã·ã§ã³ã®åãã³ããæäŸããèšèªããJavaScriptã®ãããªåçã«åä»ããããèšèªã§ã¯ããããã®ãã³ãããã§ãã¯ã§ããéçè§£æããŒã«ãçµ±åããŸããPythonçšã®MyPyãTypeScriptãµããŒãä»ãESLintã®ãããªããŒã«ã¯ãå®è¡åã«å€ãã®åé¢é£ã®åé¡ãæ€åºã§ããŸãã
3.å®å šã§ãªãæäœãšå€æã«æ³šæãã
ããããèš±å¯ããèšèªã§ã¯ã以äžã«çްå¿ã®æ³šæãæã£ãŠãã ããã
- æç€ºçãªåãã£ã¹ãïŒãã£ã¹ããå¿ èŠã§ãããããŒã¿åã«é¢ããåºã«ãªãä»®å®ãæ€èšŒãããŠããããšã確èªããŸãã
- ãã€ã³ã¿æŒç®ïŒC/C++ã®ãããªèšèªã§ã¯ãã¡ã¢ãªç Žæãåé¿ããããã«ãã€ã³ã¿ã®æ éãªç®¡çãäžå¯æ¬ ã§ãã
- æé»çãªå匷å¶ïŒèšèªãã©ã®ããã«åãæé»çã«å€æããããçè§£ããäºæããªãåäœãé¿ããããã«ãããŸãããããå Žåã¯æç€ºçã«ããŸãã
4.ããŒã¿æŽåæ§ã®ããã«èšèšãã
ããŒã¿æ§é ãšAPIãèšèšããéã¯ãããŒã¿ã®åºæã®åãšå¶çŽã«ã€ããŠèããŸããåæåãå¯å°ã¯ã©ã¹ïŒãããããµããŒãããèšèªïŒããŸãã¯ä»£æ°çããŒã¿åã䜿çšããŠãå¯èœãªç¶æ ãšå€ãå¶éããããã«ãã£ãŠæ»æå¯Ÿè±¡é åãåæžããŸãã
5.å ç¢ãªå ¥åæ€èšŒãå®è£ ãã
匷åãªåå®å šæ§ããã£ãŠããå€éšå ¥åã¯æ»æã®äž»èŠãªãã¯ãã«ã§ãããã¹ãŠã®åä¿¡ããŒã¿ãæåŸ ãããåãšåœ¢åŒã«å¯ŸããŠæ€èšŒããŸããããšãã°ãæŽæ°ãæåŸ ããŠããå Žåãå ¥åæååã蚱容ç¯å²å ã®æå¹ãªæŽæ°ã«è§£æã§ããããšã確èªããŸããæ¥ä»ãæåŸ ããŠããå Žåã¯ããããè§£æããŠã³ã³ããŒãã³ããæ€èšŒããŸãã
6.éçºããŒã ãæè²ãã
éçºè ãåå®å šæ§ã®ååãåé¢é£ã®è匱æ§ã«äŒŽããªã¹ã¯ãããã³éžæããèšèªã§åã·ã¹ãã ã广çã«æŽ»çšããæ¹æ³ãçè§£ããŠããããšã確èªããŸãã宿çãªãã¬ãŒãã³ã°ãšç¥èå ±æã¯éåžžã«äŸ¡å€ããããŸãã
7.CI/CDãã€ãã©ã€ã³ã«åå®å šæ§ãã§ãã¯ãçµ±åãã
åé¢é£ã®åé¡ããã§ãã¯ããããã»ã¹ãèªååããŸããåé¢é£ã®æ¬ é¥ãããã³ãŒãããããã€ãããªãããšãä¿èšŒããããã«ãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³/ç¶ç¶çãããã€ã¡ã³ãïŒCI/CDïŒãã€ãã©ã€ã³ã«éçè§£æããŒã«ãšåãã§ãã«ãŒãçµã¿èŸŒã¿ãŸãã
ã°ããŒãã«ãªèŠç¹ãšã±ãŒã¹ã¹ã¿ãã£
åå®å šæ§ã®ååã¯æ®éçã§ãããèŠå¶ç°å¢ãéçºãã©ã¯ãã£ã¹ãããã³äžè¬çãªæè¡ã¹ã¿ãã¯ã®éãã«ããããã®é©çšãšçŽé¢ãã課é¡ã¯äžçäžã§ç°ãªãå ŽåããããŸãã
- ã±ãŒã¹ã¹ã¿ãã£ïŒã·ã³ã¬ããŒã«ã®éèã»ã¯ã¿ãŒ
äžçäžã®éèæ©é¢ã¯ãµã€ããŒæ»æã®äž»èŠãªã¿ãŒã²ããã§ããã·ã³ã¬ããŒã«ã§ã¯ã峿 ŒãªèŠå¶ã«ãããé«ãã¬ãã«ã®ããŒã¿æŽåæ§ãšã»ãã¥ãªãã£ã矩åä»ããããŠããŸããå€ãã®ã³ã¢éèã·ã¹ãã ã¯ãJavaãC++ã®ãããªåŒ·åãªéçåä»ãèšèªã§æ§ç¯ãããŠããŸããããã§ã¯ãé«åºŠãªåãªã¹ã¯è©äŸ¡ã¯ãéèååŒããŒã¿ããŠãŒã¶ãŒè³æ Œæ å ±ãããã³æ©å¯ã®é¡§å®¢æ å ±ã絶察çãªå粟床ã§åŠçãããããšãä¿èšŒããããšã«çŠç¹ãåœãŠãŠããŸããåœ¢åŒææ³ã®äœ¿çšããåé¢é£ã®ãšã¯ã¹ããã€ãã«ããäžæ£æäœãæäœãé²ãããã«ãè³éç§»åãèŠå¶å ±åãæ±ãã¯ãªãã£ã«ã«ã³ã³ããŒãã³ãã«ã€ããŠæ€èšãããŠããŸãã
- ã±ãŒã¹ã¹ã¿ãã£ïŒãã€ãã®èªåè»ç£æ¥
çŸä»£ã®è»äž¡ã¯ãå®è³ªçã«è»èŒªäžã®è€éãªã³ã³ãã¥ãŒã¿ãŒã·ã¹ãã ã§ããè»èŒçµã¿èŸŒã¿ã·ã¹ãã ããã°ãã°C/C++ã§éçºãããæ¥µç«¯ãªä¿¡é Œæ§ãšå®å šæ§ãèŠæ±ãããŸããå¶åŸ¡ã·ã¹ãã ã§ã®ãããã¡ãªãŒããŒãããŒãæŽæ°ãªãŒããŒãããŒã¯ãçåœãè ããçµæãããããå¯èœæ§ããããŸãããã€ãã®èªåè»ã¡ãŒã«ãŒã¯ãç¹ã«ã¡ã¢ãªãšåå®å šæ§ã«çŠç¹ãåœãŠãéçè§£æããŒã«ãšå³æ Œãªã³ãŒãã¬ãã¥ãŒã«å€é¡ã®æè³ãããŠããŸãã圌ãã¯ãã°ãã°ãå倿ãšããŒã¿åŠçã«é¢ãã峿 Œãªã«ãŒã«ãå«ããå®å šæ§ãšä¿¡é Œæ§ã®åäžãç®çãšããã³ãŒãã£ã³ã°æšæºã匷å¶ããMISRA C/C++ã¬ã€ãã©ã€ã³ãæ¡çšããŠããŸãã
- ã±ãŒã¹ã¹ã¿ãã£ïŒã€ã³ãã®Eã³ããŒã¹ãã©ãããã©ãŒã
ã€ã³ãã®æŽ»æ³ãåããEã³ããŒã¹ã»ã¯ã¿ãŒã¯ãã¹ã±ãŒã©ãã«ãªWebã¢ããªã±ãŒã·ã§ã³ã«äŸåããŠããŸãããããã®ãã©ãããã©ãŒã ã®å€ãã¯ãPythonãJavaScriptã®ãããªåçèšèªã§æ§ç¯ãããŠããŸããã¢ãžã£ã€ã«éçºãåªå ãããŸãããã³ãŒãããŒã¹ãæé·ããã«ã€ããŠã»ãã¥ãªãã£ãç¶æããããšã課é¡ãšãªããŸããäŒæ¥ã¯ãéçåä»ãã®æ©æµãåããããã«ãããã³ããšã³ãããã³ããã¯ãšã³ãéçºïŒäŸïŒNode.jsïŒã«TypeScriptãæ¡çšããããšããŸããŸãé²ããŠããŸããåãã³ããéçè§£æããŒã«ãšçµ±åããããšã¯ãç¹ã«ãŠãŒã¶ãŒå ¥åãæ¯æãåŠçãããã³èªèšŒã¡ã«ããºã ã«é¢é£ããè匱æ§ãæ©æã«æ€åºããããã«ãéçºã¯ãŒã¯ãããŒã«æšæºçãªãã©ã¯ãã£ã¹ã«ãªãã€ã€ãããŸãã
- ã±ãŒã¹ã¹ã¿ãã£ïŒåç±³ã®ãã«ã¹ã±ã¢ãã¯ãããžãŒ
ãã«ã¹ã±ã¢ã·ã¹ãã ãç¹ã«é»åå¥åº·èšé²ïŒEHRïŒãåŠçããã·ã¹ãã ã¯ãæé«ã®ããŒã¿ãã©ã€ãã·ãŒãšæŽåæ§ãèŠæ±ããŸããäŸµå®³ã¯æ©å¯ã®æ£è æ å ±ã䟵害ããå¯èœæ§ããããæ·±å»ãªæ³çããã³å«çç圱é¿ã«ã€ãªãããŸããåç±³ã§ã¯ãéçºã«ã¯ããŸããŸãªèšèªãé¢ããããšããããããŸããããŒã¿æŽåæ§ãæåªå ãããã·ã¹ãã ã§ã¯ãC#ãJavaã®ãããªèšèªã奜ãŸããŸããé«åºŠãªåãªã¹ã¯è©äŸ¡ã«ã¯ãæ£è èå¥åãå»çã³ãŒããããã³æäžéã®ããŒã¿ãã£ãŒã«ããå³å¯ã«åä»ããããŠããããšã確èªããããšãå«ãŸããŸããããããç¬èªã®åã·ã¹ãã ãæã€ç°ãªãããŒã¿ãœãŒã¹éã®ã¯ãã¹ããªããŒã·ã§ã³ã¯ãæ£è ã±ã¢ã«åœ±é¿ãäžããå¯èœæ§ã®ããèª€è§£ãæœåšçãªããŒã¿ç Žæãé²ãããã«ã现å¿ã®æ³šæãå¿ èŠã§ãã
課é¡ãšå°æ¥ã®ãã¬ã³ã
åå®å šæ§ã®ååãšé«åºŠãªåãªã¹ã¯è©äŸ¡ãå®è£ ããã³ç¶æããããšã«ã¯ãäŸç¶ãšããŠèª²é¡ããããŸãã
- ã¬ã¬ã·ãŒã·ã¹ãã ïŒå€ãã®çµç¹ã¯ãåå®å šæ§ã匱ãèšèªïŒäŸïŒå€ãCã³ãŒãããŒã¹ïŒã§æžãããã¬ã¬ã·ãŒã·ã¹ãã ã§éçšãããŠããŸãããããã®ã·ã¹ãã ãè¿ä»£åãŸãã¯ããå®å šãªã€ã³ã¿ãŒãã§ã€ã¹ã§ã©ããããããšã¯ãããªãã®äœæ¥ã§ãã
- éçºè ã®ã¹ãã«ã»ããïŒãã¹ãŠã®éçºè ãåçè«ãŸãã¯é«åºŠãªåã·ã¹ãã æ©èœã®æ·±ãçè§£ãæã£ãŠããããã§ã¯ãããŸãããç¶ç¶çãªæè²ãšãã¬ãŒãã³ã°ãäžå¯æ¬ ã§ãã
- ããã©ãŒãã³ã¹ãªãŒããŒãããïŒéçåä»ãã¯ã³ã³ãã€ã«æã®æé©åãå¯èœã«ããããšã§ããã©ãŒãã³ã¹ãåäžãããããšãå€ãã§ãããäžéšã®é«åºŠãªåæ©èœãŸãã¯å®è¡æãã§ãã¯ã¯ãããããªãªãŒããŒããããããããå¯èœæ§ããããŸãã
- çŸä»£ã®ã¢ããªã±ãŒã·ã§ã³ã®è€éãïŒãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ãè€éãªãã¬ãŒã ã¯ãŒã¯ãããã³ãµãŒãããŒãã£ã©ã€ãã©ãªã®åºç¯ãªäœ¿çšã¯ãæ»æå¯Ÿè±¡é åãšã·ã¹ãã å šäœã®åå®å šæ§ã確ä¿ããè€éããå¢å€§ãããŸãã
å°æ¥ã®ãã¬ã³ãïŒ
- ãã衚çŸåè±ããªåã·ã¹ãã ïŒããã°ã©ãã³ã°èšèªã¯é²åãç¶ããããè€éãªäžå€æ¡ä»¶ãšããŒã¿éã®é¢ä¿ãæããããšãã§ããããã匷åã§è¡šçŸåè±ããªåã·ã¹ãã ãæäŸããŸããäŸååãæŽç·Žåãããã³å¹æã·ã¹ãã ã¯ãç¶ç¶çãªç ç©¶éçºã®åéã§ãã
- AIæ¯æŽåååæïŒäººå·¥ç¥èœã𿩿¢°åŠç¿ã¯ãã»ãã¥ãªãã£åæã«é©çšããå§ããŠããŸããããã«ã¯ãåŸæ¥ã®éçè§£æã§ã¯èŠéãããå¯èœæ§ã®ããã³ãŒãäžãŸãã¯å®è¡æã®æœåšçãªåé¢é£ã®ç°åžžãç¹å®ããããšãå«ãŸããŸãã
- èšèªçžäºéçšæ§ïŒã·ã¹ãã ããã忣åãããã«ã€ããŠãç°ãªãèšèªãšãã©ãããã©ãŒã éã§åå®å šæ§ã確ä¿ããããšããŸããŸãéèŠã«ãªããŸãã匷åãªåä¿èšŒãæã€å®å šãªããã»ã¹ééä¿¡ãšããŒã¿ã·ãªã¢ã«åã®ããã®æšæºãšããŒã«ã泚ç®ãéããã§ãããã
- åå®å šæ§ãã³ã¢ãã©ãŒãšããèšèšã«ããã»ãã¥ãªãã£ïŒãœãããŠã§ã¢ã«æåããã»ãã¥ãªãã£ãçµã¿èŸŒãïŒèšèšã«ããã»ãã¥ãªãã£ïŒãšãããã¬ã³ãã¯ãåå®å šæ§ãåºæ¬çã§è²ããªãã³ã³ããŒãã³ããšããŠãŸããŸãçµã¿èŸŒãã§ãããã
çµè«
åå®å šæ§ã®ååã«åºã¥ããé«åºŠãªåãªã¹ã¯è©äŸ¡ã¯ãçŸä»£ã®ãœãããŠã§ã¢ã»ãã¥ãªãã£ã«ãšã£ãŠäžå¯æ¬ ãªæŠç¥ã§ããåå¶çŽãçè§£ãã峿 Œã«åŒ·å¶ããããšã«ãããéçºããŒã ã¯ããªãã®ã¯ã©ã¹ã®è匱æ§ãç©æ¥µçã«é²æ¢ã§ããããã«ãã£ãŠã¢ããªã±ãŒã·ã§ã³ã®ä¿¡é Œæ§ãæŽåæ§ãããã³ã»ãã¥ãªãã£ãåäžãããããšãã§ããŸãã
RustãHaskellã®ãããªèšèªã®å³æ Œãªã³ã³ãã€ã«æãã§ãã¯ãããPythonãJavaScriptã®ãããªåçèšèªã§å©çšå¯èœãªãŸããŸãå ç¢ãªåãã³ããšéçè§£æãŸã§ãããŒã«ã𿹿³ã¯æ¥éã«é²åããŠããŸããã°ããŒãã«èŠæš¡ã§äºæ¥ãå±éããçµç¹ã«ãšã£ãŠããããã®ååãæ¡çšãã倿§ãªæè¡ã¹ã¿ãã¯ã«åãããŠèª¿æŽããåãæèããéçºæåãè²ãããšã¯ãåãªããã¹ããã©ã¯ãã£ã¹ã§ã¯ãããŸãããããã¯ãããžã¿ã«æä»£ã®è€éã§åžžã«ååšããè åšç¶æ³ãããã²ãŒãããããã®å¿ èŠäžå¯æ¬ ãªãã®ã§ãã
ã»ãã¥ãªãã£åæã«ãããŠåå®å šæ§ãåªå ããããšã«ãããææ¥ã®èª²é¡ã«èããããšãã§ãããããå埩åã®ããã·ã¹ãã ãæ§ç¯ããŸãã